一、前言
1.1LAMP详解
经过多年是Web技术发展,在业内被广泛使用的一种Web服务器解决方案之一(LNMP也非常受欢迎),由一些独立的系统或软件组合而成。
软件组件:
Linux: Linux 是免费开源软件,这意味着源代码可用的操作系统。
Apache: Apache 是使用中最受欢迎的一个开放源码的WEB服务器软件。
MySQL: MySQL 是多线程、多用户的SQL数据库管理系统。
PHP: PHP 是一种编程语言最初设计生产动态网站。PHP 是主要用于服务器端的应用程序软件。Perl 和 Python 类似。
1.2LAMP工作原理
二、实验环境:
发行版本: Ubuntu 12.04.5 LTS
内核版本:3.13.0-32-generic
ip:192.168.198.5
三、Ubuntu server 管理员权限解读
为了安全Ubuntu 官方不推荐使用root账户远程登陆,安装系统的时候会强制要设置一个不同于root的普通用户。
操作ubuntu的预备知识:
1)命令行
dgnet@dgnet-ip:~$
dgnet表示用户名
@dgnet-ip 表示@主机名
~ 表示当前目录
$ 表示用户类型标记
-$表示普通用户,#表示超级管理员
2)通过passwd命令修改账户密码
2.1)先查看当前用户
dgnet@dgnet-ip:~$ pwd
/home/dgnet
2.2)让当前用户获得临时超级管理员权限
dgnet@dgnet-ip:~$ sudo passwd root
[sudo] password for dgnet: #输入用户dgnet的秘密
Enter new UNIX password: #给root用户设置新密码
Retype new UNIX password: #确认root密码
passwd: password updated successfully
注意事项:
1)普通账户没有管理员权限
2)默认情况下ROOT账户无法登陆
3)su (switch user)切换到超级管理员
4)sudo (switch user and do) 以超级管理员身份执行
5)sudo弥补了su产生的多账户安全问题
使用su命令所有管理员都必须知道root账户的密码,sudo使得普通管理员使用自己的秘密也可以获得超级管理员权限。
四、安装软件
1)先安装apt-get软件安装工具
gnet@dgnet-ip:~$ sudo apt-get update
2) 使用apt-get软件安装工具安装apache2
dgnet@dgnet-ip:~$ sudo apt-get install apache2
检查一下apache的版本
dgnet@dgnet-ip:~$ apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
Server built: Jul 15 2016 15:32:45
打开浏览器输入ip地址检查apache是否正常工作
3)使用apt-get软件安装工具安装php5
dgnet@dgnet-ip:~$ sudo apt-get install php5
检查一下php的版本
dgnet@dgnet-ip:~$ php5 -v
PHP 5.3.10-1ubuntu3.26 with Suhosin-Patch (cli) (built: Feb 13 2017 20:37:53)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
检查一下apache是否加载了libphp5.so这个模块
dgnet@dgnet-ip:~$ cat /etc/apache2/mods-enabled/php5.load
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
4)使用apt-get软件安装工具安装mysql-server
dgnet@dgnet-ip:~$ sudo apt-get install mysql-server
先给mysql-server设置密码(baidu.com@ip)
接着安装一下mysql的扩展
dgnet@dgnet-ip:~$ sudo apt-get install php5-mysql
检查一下mysql.so模块是否正常加载
dgnet@dgnet-ip:~$ cat /etc/php5/conf.d/mysql.ini
; configuration for php MySQL module
extension=mysql.so
确保php5与mysql能正常工作,重启一下mysql
dgnet@dgnet-ip:~$ sudo service mysql restart
重启apache
dgnet@dgnet-ip:~$ sudo service mysql restart
到目前lamp软件已经安装完成,分开各个软件安装是为了更好了理解各个软件之间的关系,我们清楚了解了lamp之后可以使用一条命令就把lamp安装好。
dgnet@dgnet-ip:~$ sudo apt-get install -y apache2 php5 mysql-server php5-mysql
或者
dgnet@dgnet-ip:~$ sudo tasksel install -y lamp-servver
五、其他设置
1)创建phpinfo服务器探针
dgnet@dgnet-ip:~$ cd /var/www
dgnet@dgnet-ip:/var/www$ sudo vim info.php
[sudo] password for dgnet:
info.php代码
<?phpecho mysql_connect('localhost','root','baidu.com@ip') ?
'Mom, dont worry about my database, either' :
'Last year I bought a watch';
phpinfo();
在浏览器中打开info.php查看,php与数据库是否正常
2)PHP添加常用扩展
dgnet@dgnet-ip:~$ sudo apt-get install php5-gd curl libcurl3-dev php5-curl
安装完成重启apache
dgnet@dgnet-ip:~$ sudo service apache2 restart
浏览器中查看扩展是否工作正常
六、LAMP环境配置文件
1)Ubuntu系统配置文件目录:/etc
2)各组件配置文件位置
-Apache /etc/apache2
-MYSQL /etc/mysql
-PHP /etc/php5
3)查看apache
dgnet@dgnet-ip:~$ cd /etc/apache2
dgnet@dgnet-ip:/etc/apache2$ ll
apache工作过程:
apache核心配置:
-mods-* Apache模块
-sites-* 虚拟主机
关键词 available 可以使用的;enabled 已启用的
4)MYSQL核心配置文件 my.cnf
5)php核心配置文件 php.ini
6)配置apache虚拟主机
7)手动模拟DNS,修改本地hosts文件
浏览器查看上面三个域名,都是指向ip 192.168.198.5
8)为(oa bbs video)服务器创建目录
dgnet@dgnet-ip:~$ cd /var
dgnet@dgnet-ip:/var$ sudo mkdir -p /wwwroot/{video,bbs,oa}
dgnet@dgnet-ip:/var$ cd /wwwroot/
dgnet@dgnet-ip:/wwwroot$ ll
dgnet@dgnet-ip:/wwwroot$ cd video/
dgnet@dgnet-ip:/wwwroot/video$ sudo vim index.html
dgnet@dgnet-ip:/wwwroot/video$ cd ../bbs
dgnet@dgnet-ip:/wwwroot/bbs$ sudo vim index.html
dgnet@dgnet-ip:/wwwroot$ cd oa
dgnet@dgnet-ip:/wwwroot/oa$ sudo vim index.html
9)开始配置虚拟主机
dgnet@dgnet-ip:/wwwroot/oa$ cd /etc/apache2/sites-available/
dgnet@dgnet-ip:/etc/apache2/sites-available$ ll
ls: 初始化月份字符串出错
总用量 20
drwxr-xr-x 2 root root 4096 7Ղ 17 15:00 ./
drwxr-xr-x 7 root root 4096 7Ղ 17 15:00 ../
-rw-r--r-- 1 root root 950 2Ղ 7 2012 default
-rw-r--r-- 1 root root 7469 2Ղ 7 2012 default-ssl
复制defult文件作为video bbs oa 三个虚拟主机的蓝本
dgnet@dgnet-ip:/etc/apache2/sites-available$ sudo cp default video
dgnet@dgnet-ip:/etc/apache2/sites-available$ sudo cp default bbs
dgnet@dgnet-ip:/etc/apache2/sites-available$ sudo cp default oa
编辑video
dgnet@dgnet-ip:/etc/apache2/sites-available$ sudo vim video
虚拟配置如下:
<VirtualHost *:80>
ServerName video.lsz.com
ServerAdmin webmaster@localhost
DocumentRoot /wwwroot/video
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /wwwroot/video/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
编辑bbs:
dgnet@dgnet-ip:/etc/apache2/sites-available$ sudo vim bbs
虚拟配置如下:
<VirtualHost *:80>
ServerName bbs.lsz.com
ServerAdmin webmaster@localhost
DocumentRoot /wwwroot/bbs
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /wwwroot/bbs/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
编辑oa:
dgnet@dgnet-ip:/etc/apache2/sites-available$ sudo vim oa
虚拟配置如下:
<VirtualHost *:80>
ServerName oa.lsz.com
ServerAdmin webmaster@localhost
DocumentRoot /wwwroot/oa
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /wwwroot/oa/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
10)启用虚拟配置文件
dgnet@dgnet-ip:/etc/apache2/sites-available$ cd ../sites-enabled/
dgnet@dgnet-ip:/etc/apache2/sites-enabled$ sudo ln -s ../sites-available/video video
dgnet@dgnet-ip:/etc/apache2/sites-enabled$ sudo ln -s ../sites-available/bbs bbs
dgnet@dgnet-ip:/etc/apache2/sites-enabled$ sudo ln -s ../sites-available/oa oa
dgnet@dgnet-ip:/etc/apache2/sites-enabled$ ll
ls: 初始化月份字符串出错
总用量 8
drwxr-xr-x 2 root root 4096 7Ղ 17 18:14 ./
drwxr-xr-x 7 root root 4096 7Ղ 17 15:00 ../
lrwxrwxrwx 1 root root 26 7Ղ 17 15:00 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 22 7Ղ 17 18:14 bbs -> ../sites-available/bbs
lrwxrwxrwx 1 root root 21 7Ղ 17 18:14 oa -> ../sites-available/oa
lrwxrwxrwx 1 root root 24 7Ղ 17 18:14 video -> ../sites-available/video
dgnet@dgnet-ip:/etc/apache2/sites-enabled$ sudo service apache2 restart
浏览器中查看对应的域名:
bbs.lsz.com
video.lsz.com
oa.lsz.com
11)安装数据库管理工具phpmyadmin
dgnet@dgnet-ip:~$ sudo apt-get install phpmyadmin
dgnet@dgnet-ip:~$ cd /var/www
dgnet@dgnet-ip:/var/www$ sudo ln -s /usr/share/phpmyadmin phpmyadmin
浏览器打开
开启MySQL的remote access
dgnet@dgnet-ip:/var/www$ sudo vim /etc/mysql/my.cnf
找到bind-address注释
#bind-address = 127.0.0.1
使用phpmyadmin用户密码登陆 (root,baidu.com@ip)
添加一个用户linshizhe 允许公网ip 访问
重启mysql重新加载配置:
dgnet@dgnet-ip:/var/www$ sudo service mysql restart
通过Navicat测试远程连接数据库
到这里lamp基本就已经部署完成了!!!